unit Cad_Auxiliar_Ped_Venda;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, Buttons, DB, DBClient, JvExControls, JvLabel,
  JvXPCore, JvXPButtons, JvExExtCtrls, JvRadioGroup;

type
  TFrmCad_auxiliar_ped_venda = class(TForm)
    Bevel1: TBevel;
    Panel1: TPanel;
    ScrollBox1: TScrollBox;
    RadioProduto: TJVRadioGroup;
    CDS: TClientDataSet;
    CDSIDX: TIntegerField;
    CDSItem: TStringField;
    BitBtn1: TJvXPButton;
    JvLabel1: TJvLabel;
    edLocalizar: TEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure edLocalizarChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmCad_auxiliar_ped_venda: TFrmCad_auxiliar_ped_venda;
  P_Produto, prod1, xmostra_desc: string;

implementation

uses clsParametros, biblio;

var
  parametros: TParametros;

{$R *.DFM}

procedure TFrmCad_auxiliar_ped_venda.FormClose(Sender: TObject;
  var Action: TCloseAction);
var
  tam_mascara: integer;
begin
  RadioProduto.Columns := 1;
  Parametros := TParametros.Create;
  Parametros.Recuperar('1');
  tam_mascara := length(Parametros.Mascara_Produto);
  Parametros.free;
  prod1 := copy(RadioProduto.Items[RadioProduto.itemindex], 1, tam_mascara);
  xmostra_desc := nright(RadioProduto.Items[RadioProduto.itemindex], 1);
end;

procedure TFrmCad_auxiliar_ped_venda.BitBtn1Click(Sender: TObject);
begin
  close;
end;

procedure TFrmCad_auxiliar_ped_venda.FormActivate(Sender: TObject);
var
  tamanho: Integer;
  i: Integer;
begin
  tamanho := (RadioProduto.Items.Count - 1) * 16;
  if tamanho < 380 then
    tamanho := 380;
  RadioProduto.Height := tamanho;
  CDS.Close;
  CDS.CreateDataSet;
  CDS.Open;
  for i := 0 to pred(RadioProduto.Items.Count) do begin
    CDS.Append;
    CDSIDX.AsInteger := i;
    CDSItem.AsString := Trim(copy(RadioProduto.Items.Strings[i], pos('-', RadioProduto.Items.Strings[i]) + 2, 200));
    CDS.Post;
  end;
  edLocalizar.Clear;
  Panel1.SetFocus;
  //  if RadioProduto.Items.Count > 20 then RadioProduto.Columns := 2;
end;

procedure TFrmCad_auxiliar_ped_venda.edLocalizarChange(Sender: TObject);
begin
  if CDS.Locate('Item', edLocalizar.Text, [loPartialKey]) then
    RadioProduto.ItemIndex := CDSIDX.AsInteger
  else begin
    RadioProduto.ItemIndex := 0;
    CDS.Filtered := False;
    CDS.Filter := 'Item Like ' + QuotedStr('%' + edLocalizar.Text + '%');
    CDS.Filtered := True;
    CDS.First;
    RadioProduto.ItemIndex := CDSIDX.AsInteger;
    CDS.Filtered := False;
  end;
end;

end.

